package com.autumn.platform.web.jsonbody.serial.config;

import java.util.Map;
import java.util.Set;

import com.autumn.platform.web.jsonbody.serial.converter.IJsonConverter;

public interface IJsonSerialConfig {

    /**
     * 获取目标类型
     * 
     * @return
     */
    public Class<?> getSerialType();

    /**
     * 获取属性别名
     * 
     * @return
     */
    public Map<String, String> getAliases();

    /**
     * 获取需要排除的属性
     * 
     * @return
     */
    public Set<String> getExcludeProperties();

    /**
     * 获取需要包含的属性
     * 
     * @return
     */
    public Set<String> getIncludeProperties();

    /**
     * 获取属转换器
     * 
     * @return
     */
    public Map<String, IJsonConverter> getConverters();

    /**
     * 是否有效
     * 
     * @return
     */
    public boolean isValid();
}
